home *** CD-ROM | disk | FTP | other *** search
-
-
- * This is my standard Dos library file. It has
- * been ripped off from the Genam file & altered
- * to suit me.
-
- * library offsets from dos_base(a6)
-
- Open =-30
- Close =-36
- Read =-42
- Write =-48
- Input =-54
- Output =-60
- Seek =-66
- DeleteFile=-72
- Rename =-78
- Lock =-84
- UnLock =-90
- DupLock =-96
- Examine =-102
- ExNext =-108
- Info =-114
- CreateDir=-120
- CurrentDir=-126
- IoErr =-132
- CreateProc=-138
- Exit =-144
- LoadSeg =-150
- UnLoadSeg=-156
- GetPacket=-162
- QueuePacket=-168
- DeviceProc=-174
- SetComment=-180
- SetProtection=-186
- DateStamp=-192
- Delay =-198
- WaitForChar=-204
- ParentDir=-210
- IsInteractive=-216
- Execute =-222
-
- ;dos library access modes
-
- MODE_OLD =1005
- MODE_NEW =1006
-
-
- SHARED_LOCK EQU -2
- ACCESS_READ EQU -2
- EXCLUSIVE_LOCK EQU -1
- ACCESS_WRITE EQU -1
-
- SEEK_START=-1
- SEEK_CURRENT=0
- SEEK_END =1
-
-
- * Datestamp data structure
-
-
- rsreset
- ds_Days rs.l 1
- ds_Minute rs.l 1
- ds_Tick rs.l 1
- ds_sizeof rs.w 0
-
- TICKS_PER_SECOND=50
-
-
- * FileInfoBlock structure
-
-
- rsreset
- fib_DiskKey rs.l 1
- fib_DirEntryType rs.l 1
- fib_FileName rs.b 108
- fib_Protection rs.l 1
- fib_EntryType rs.l 1
- fib_Size rs.l 1
- fib_NumBlocks rs.l 1
- fib_DateStamp rs.b ds_sizeof
- fib_Comment rs.b 116
-
- fib_sizeof rs.w 0
-
-
- FIBB_ARCHIVE=4
- FIBF_ARCHIVE=1<<4
- FIBB_READ=3
- FIBF_READ=1<<3
- FIBB_WRITE=2
- FIBF_WRITE=1<<2
- FIBB_EXECUTE=1
- FIBF_EXECUTE=1<<1
- FIBB_DELETE=0
- FIBF_DELETE=1<<0
-
-
- * InfoData structure
-
-
- rsreset
- InfoData rs.b 0
- id_NumSoftErrors rs.l 1
- id_UnitNumber rs.l 1
- id_DiskState rs.l 1
- id_NumBlocks rs.l 1
- id_NumBlocksUsed rs.l 1
- id_BytesPerBlock rs.l 1
- id_DiskType rs.l 1
- id_VolumeNode rs.l 1
- id_InUse rs.l 1
-
- id_sizeof rs.w 0
-
- ID_WRITE_PROTECTED=80
- ID_VALIDATING =81
- ID_VALIDATED =82
- ID_NO_DISK_PRESENT=-1
- ID_UNREADABLE_DISK=('B'<<24)!('A'<<16)!('D'<<8)
- ID_NOT_REALLY_DOS =('N'<<24)!('D'<<16)!('O'<<8)!('S')
- ID_DOS_DISK =('D'<<24)!('O'<<16)!('S'<<8)
- ID_KICKSTART_DISK =('K'<<24)!('I'<<16)!('C'<<8)!('K')
-
-
- * List of DOS error codes
-
-
- ERROR_NO_FREE_STORE=103
- ERROR_TASK_TABLE_FULL=105
- ERROR_LINE_TOO_LONG=120
- ERROR_FILE_NOT_OBJECT=121
-
- ERROR_INVALID_RESIDENT_LIBRARY=122
-
- ERROR_OBJECT_IN_USE=202
- ERROR_OBJECT_EXISTS=203
- ERROR_OBJECT_NOT_FOUND=205
- ERROR_ACTION_NOT_KNOWN=209
-
- ERROR_INVALID_COMPONENT_NAME=210
-
- ERROR_INVALID_LOCK=211
- ERROR_OBJECT_WRONG_TYPE=212
- ERROR_DISK_NOT_VALIDATED=213
- ERROR_DISK_WRITE_PROTECTED=214
-
- ERROR_RENAME_ACROSS_DEVICES=215
-
- ERROR_DIRECTORY_NOT_EMPTY=216
- ERROR_DEVICE_NOT_MOUNTED=218
- ERROR_SEEK_ERROR =219
- ERROR_COMMENT_TOO_BIG=220
- ERROR_DISK_FULL =221
- ERROR_DELETE_PROTECTED=222
- ERROR_WRITE_PROTECTED=223
- ERROR_READ_PROTECTED=224
- ERROR_NOT_A_DOS_DISK=225
- ERROR_NO_DISK =226
- ERROR_NO_MORE_ENTRIES=232
- RETURN_OK =0
- RETURN_WARN =5
- RETURN_ERROR =10
- RETURN_FAIL =20
-
-
-
- SIGBREAKB_CTRL_C=12
- SIGBREAKF_CTRL_C=1<<12
- SIGBREAKB_CTRL_D=13
- SIGBREAKF_CTRL_D=1<<13
- SIGBREAKB_CTRL_E=14
- SIGBREAKF_CTRL_E=1<<14
- SIGBREAKB_CTRL_F=15
- SIGBREAKF_CTRL_F=1<<15
-
-
- * Macro for calling a DOS.LIBRARY function
-
-
- CALLDOS macro name ;call a DOS library function
-
- move.l a6,-(sp)
- move.l dos_base(a6),a6
- jsr \1(a6)
- move.l (sp)+,a6
-
- endm
-
- CALLSYS macro name ;call any library function
- jsr \1(a6)
- endm
-
-
-
-